<?php

namespace App\models;

/**
 * 用户信息设置的模型
 *
 * Class Setting
 * @package App\models
 */
class Setting
{
    /**
     * @var array 用户设置的字段
     */
    protected $allowd = ['city', 'site', 'github', 'bio'];

    /**
     * @var User 需要修改信息的用户
     */
    protected $user;

    /**
     * Setting constructor.
     * @param $user
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * 用户保存自己的信息时使用
     *
     * @param array $attributes
     * @return bool
     */
    public function merge(array $attributes)
    {
        $settings = array_merge($this->user->setting, array_only($attributes, $this->allowd));
        return $this->user->update(['setting' => $settings]);
    }
}
